BroadcastReceiver
와이파이 상태 체크
NetworkReceiver.java
public class NetworkReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 네트워크 상태 값 받아오기
if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(intent.getAction())) {
NetworkInfo info = (NetworkInfo) intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
NetworkInfo.DetailedState state = info.getDetailedState();
if (state == NetworkInfo.DetailedState.CONNECTED) { // 네트워크 연결 상태이면...
MainActivity.tv_state.setText("네트워크 연결 완료");
} else if (state == NetworkInfo.DetailedState.DISCONNECTED) { // 네트워크 연결 해제이면..
MainActivity.tv_state.setText("네트워크 연결 해제");
}
}
}
}
MainActivity.java
public class MainActivity extends AppCompatActivity {
public static TextView tv_state;
private NetworkReceiver receiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_state = findViewById(R.id.tv_state);
// 브로드 캐스트 리시버 등록 !
IntentFilter filter = new IntentFilter();
receiver = new NetworkReceiver();
filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
registerReceiver(receiver, filter);
}
@Override
protected void onDestroy() {
super.onDestroy();
// 브로드 캐스트 리시버 해제 !
unregisterReceiver(receiver);
}
}
activity_main.xml
<TextView
android:id="@+id/tv_state"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="테스트"
/>
안드로이드 앱 만들기 #31 네트워크 상태 체크
https://www.youtube.com/watch?v=734okczfUsk
홍드로이드 깃헙
https://github.com/hongdroid94/31_BrodcastNetworkCheck